1. Field of the Invention
The present invention relates generally to the field of software and more particularly to a system and method for automatic data mapping.
2. Background of the Invention
Computer programs or software can be used to accomplish various project requirements and organizational needs. Large enterprise software applications often require the use of large amounts of data and information, generally stored in and requested from databases or repositories. Used in conjunction with enterprise applications are database and database management systems which manage, maintain, and operate on varying quantities of data. Enterprise applications operating or managing large amounts of data stored in databases, storage systems, or other repositories can be used for a variety of functions, often supporting activities such as accounting, operations, finance, marketing, and numerous other activities. However, large amounts of data often increase the complexity of operation for enterprise applications.
Providers of enterprise applications, which are often distributed throughout an organization, must meet increasing data requirements for operation, which includes the creation, maintenance, management, and use of data maps. Data maps, which direct various software applications to necessary and relevant portions of other software applications, are used in the execution or operation of other, often more complex, software applications. The setup and maintenance of large numbers of maps also represents an enormous operational burden on enterprise software applications, particularly in terms of expense and money.
A data or field map is used to identify relationships between multiple data fields in order to enable an application to execute at run-time or compile program code. Field maps may often be used to map data contained in tables, records, files, fields, or other structures where data can be stored. In a typical field map, a data source can be mapped to a data target. One example of a data source is a source table, where data is mapped to fields contained in a target table, generating a particular field map. In other words, a target table identifies the data destination for a source table. Tables containing fields may house varying quantities of data, which may be used to different extents by software and enterprise applications. Each field in each table of each map must be accounted for at many levels for use in various types of software applications. Conventional data mapping techniques and means require manual design and construction, where an individual developer must design individual maps for each data field correlation. Conventional data mapping techniques are labor and time-intensive, requiring developers to design, develop, and implement maps on an often ad-hoc basis. Once determined, data maps must be loaded in order to enable application at run-time to operate and draw upon required data. Again, this process in the conventional art is time and labor intensive.
If a source or target table, as described above, containing multiple data fields, changes, a map designer must review and change a corresponding table map. Changes to a corresponding data map may also be required. After the changes are made, then a data loader map must be rebuilt and each field must be individually and explicitly handled. The developer or user probably has no advance knowledge of changes and will only be aware of problems when an application stops running as a result of an improper data map.
Therefore, there is a need to reduce the time and labor-intensity of conventional data mapping techniques and methods.